package com.dana1.nos.impl;

import java.util.List;
import java.util.Map;

import com.dana1.nos.old.ObjectKey;
import com.dana1.nos.old.ServiceObject;
import com.dana1.nos.old.impl.AbstractObjectService;

public class NullObjectService extends AbstractObjectService
{
	// search operations
	@Override public  <T extends ServiceObject> List<ObjectKey<T>> query(T obj) { return null; }

	// passthru operation. The multiple sql statements are so that a true list of affected object keys can be returned by the underlying driver
	@Override public  List<ObjectKey<?>> execute(Map<String,Object> parameters, String ... sql) { return null; }

	// Object operations
	@Override public  List<ObjectKey<?>> insert(List<ServiceObject> objs) { return null; }
	@Override public  List<ServiceObject> retrieve(List<ObjectKey<?>> keys) { return null; }
	@Override public  void update(List<ServiceObject> objs) { return ; }
	@Override public  void delete(List<ObjectKey<?>> keys) { return ; }

	// basic m-m relation operators
	@Override public  List<ObjectKey<?>> retrieveMM(ObjectKey<? extends ServiceObject> ownerKey,String relationName) { return null; }
	@Override public  int countMM(ObjectKey<? extends ServiceObject> ownerKey,String relationName)  { return 0; }
	@Override public  boolean addMM(ObjectKey<? extends ServiceObject> ownerKey, String relationName, ObjectKey<? extends ServiceObject> childKey)  { return false; }
	@Override public  boolean removeMM(ObjectKey<? extends ServiceObject> ownerKey, String relationName, ObjectKey<? extends ServiceObject> childKey) { return false; }

	// basic 1-m relation operators
// 	@Override public ObjectKey<? extends ServiceObject> retrieveM1(ObjectKey<? extends ServiceObject> parentKey,String relationName) { return null; }
	@Override public  <T extends ServiceObject> List<ObjectKey<T>> retrieve1M(ObjectKey<?> childKey, Class<T> parentObjectClass, String relationName){ return null; }
	@Override public  int count1M(ObjectKey<? extends ServiceObject> childKey, Class<? extends ServiceObject> parentObjectClass, String relationName) { return 0; }
	@Override public  boolean add1M(ObjectKey<? extends ServiceObject> childKey, String relationName, ObjectKey<? extends ServiceObject> parentKey) { return false; }
	@Override public  boolean remove1M(ObjectKey<? extends ServiceObject> childKey, String relationName, ObjectKey<? extends ServiceObject> parentKey) { return false; }

	// basic 1-1 relation operators
//	@Override public  ObjectKey<? extends ServiceObject> get11(ObjectKey<? extends ServiceObject> childKey,String relationName){ return null; }
	@Override public  boolean set11(ObjectKey<? extends ServiceObject> leftKey, String relationName, ObjectKey<? extends ServiceObject> rightKey) { return false; }

}
